home *** CD-ROM | disk | FTP | other *** search
/ KeyGen Studio 2002 / KeyGen_Studio_2002.iso / Tutorials / Eternal bliss / EB_TUT28.TXT < prev    next >
Encoding:
Text File  |  1999-08-27  |  8.8 KB  |  233 lines

  1.             Tutorial Number 28
  2.  
  3. Written by Etenal Bliss
  4. Email: Eternal_Bliss@hotmail.com
  5. Website: http://crackmes.cjb.net
  6.          http://surf.to/crackmes
  7. Date written: 21st Jul 1999
  8.  
  9. Program Details:
  10. Name: CrackMe v8.5 by BuLLeT[CiA]
  11.  
  12. Tools Used:
  13. SoftIce
  14.  
  15. Cracking Method:
  16. Serial Sniffing
  17. Hex Conversion to Ascii
  18.  
  19. Viewing Method:
  20. Use Notepad with Word Wrap switched on
  21. Screen Area set to 800 X 600 pixels (Optional)
  22.  
  23. __________________________________________________________________________
  24.  
  25.  
  26.                         About this protection system
  27.  
  28. This program requires a RegID to register. The RegID is derived from
  29. the Name and Company you entered. It is made up of some non-typable
  30. characters.
  31.  
  32. Thus, you might want to use Crackers' Tool that can be found on my website.
  33.  
  34. _________________________________________________________________________
  35.  
  36.  
  37.                         About this tutorial
  38.  
  39. This is a very short tutorial to show what serial fishing is like and
  40. how easy it can be. The aim of this tutorial is to show you that sometimes
  41. you need not trace into all the calls you see. A bit of patience and a bit
  42. of intelligence will bring you to the correct serial.
  43.  
  44. _________________________________________________________________________
  45.  
  46.  
  47.                 SoftIce
  48.  
  49. Run the CrackMe. Enter any Name/Company/RegID you want. Just make sure you
  50. enter at least 5 characters for each. There are a few checks to make sure
  51. that.
  52.  
  53. Then, set the breakpoint hmemcpy by typing "bpx hmemcpy" in SoftIce. Once
  54. you have done that, press F5 to return to the program and click on Register.
  55.  
  56. You will break inside SoftIce. What you must know now is that the bpx hmemcpy
  57. will bring you deep inside Windows. Keep pressing F12 until you see
  58. CRKME!.ficken between the code window and the command window. Then you
  59. will see a "ret" very near. You are not at the right place yet. The codes
  60. here are useless for us. Keep pressing F12 until you reach a place where 
  61. a "ret" cannot be seen.
  62.  
  63. I have pasted the tracing below and also commented on some codes.
  64.  
  65. :00442080  E82313FEFF          CALL      004233A8    <- hmemcpy is inside
  66. :00442085  8D55F8              LEA       EDX,[EBP-08]    <- land here.
  67. :00442088  8B86D0020000        MOV       EAX,[ESI+000002D0]
  68. :0044208E  E81513FEFF          CALL      004233A8
  69. :00442093  8B45F8              MOV       EAX,[EBP-08]
  70. :00442096  E8C919FCFF          CALL      00403A64
  71. :0044209B  8BD8                MOV       EBX,EAX
  72. :0044209D  85DB                TEST      EBX,EBX
  73. :0044209F  7E0B                JLE       004420AC                (NO JUMP)
  74. :004420A1  8D45FC              LEA       EAX,[EBP-04]
  75. :004420A4  E847FFFFFF          CALL      00441FF0
  76. :004420A9  4B                  DEC       EBX
  77. :004420AA  75F5                JNZ       004420A1
  78. :            __________Snip___________
  79. :
  80. There are a few loops for this conditional jump
  81. :
  82. :            __________Snip___________
  83. :004420AC  8B45FC              MOV       EAX,[EBP-04]
  84. :004420AF  E8B019FCFF          CALL      00403A64
  85. :004420B4  8BD8                MOV       EBX,EAX
  86. :004420B6  85DB                TEST      EBX,EBX
  87. :004420B8  7E0B                JLE       004420C5                (NO JUMP)
  88. :004420BA  8D45F8              LEA       EAX,[EBP-08]
  89. :004420BD  E8B6FEFFFF          CALL      00441F78
  90. :004420C2  4B                  DEC       EBX
  91. :004420C3  75F5                JNZ       004420BA
  92. :            __________Snip___________
  93. :
  94. There are a few loops for this conditional jump
  95. :
  96. :            __________Snip___________
  97. :004420C5  8D45F4              LEA       EAX,[EBP-0C]
  98. :004420C8  8B4DFC              MOV       ECX,[EBP-04]
  99. :004420CB  8B55F8              MOV       EDX,[EBP-08]
  100. :004420CE  E8DD19FCFF          CALL      00403AB0
  101. :004420D3  837DF400            CMP       DWORD PTR [EBP-0C],00
  102. :004420D7  7507                JNZ       004420E0                (JUMP )
  103. :004420E0  8D55F0              LEA       EDX,[EBP-10]
  104. :004420E3  8B86CC020000        MOV       EAX,[ESI+000002CC]
  105. :004420E9  E8BA12FEFF          CALL      004233A8
  106. :004420EE  8B45F0              MOV       EAX,[EBP-10]
  107. :004420F1  E86E19FCFF          CALL      00403A64
  108. :004420F6  83F805              CMP       EAX,05        
  109. :            __________Explanation___________
  110. :
  111. Name must be more than 5 characters
  112. :
  113. :            __________Explanation___________
  114. :004420F9  7D0D                JGE       00442108                (JUMP )
  115. :00442108  8D55F0              LEA       EDX,[EBP-10]
  116. :0044210B  8B86D0020000        MOV       EAX,[ESI+000002D0]
  117. :00442111  E89212FEFF          CALL      004233A8
  118. :00442116  8B45F0              MOV       EAX,[EBP-10]
  119. :00442119  E84619FCFF          CALL      00403A64
  120. :0044211E  83F803              CMP       EAX,03
  121. :            __________Explanation___________
  122. :
  123. Company must be more than 3 characters
  124. :
  125. :            __________Explanation___________
  126. :00442121  7D0D                JGE       00442130                (JUMP )
  127. :00442130  8D55F0              LEA       EDX,[EBP-10]
  128. :00442133  8B86E4020000        MOV       EAX,[ESI+000002E4]
  129. :00442139  E86A12FEFF          CALL      004233A8
  130. :0044213E  8B45F0              MOV       EAX,[EBP-10]
  131. :00442141  E81E19FCFF          CALL      00403A64
  132. :00442146  83F802              CMP       EAX,02
  133. :            __________Explanation___________
  134. :
  135. RegID must be more than 2 characters
  136. :
  137. :            __________Explanation___________
  138. :00442149  7D0D                JGE       00442158                (JUMP )
  139. :00442158  8D55F0              LEA       EDX,[EBP-10]
  140. :0044215B  8B86E4020000        MOV       EAX,[ESI+000002E4]
  141. :00442161  E84212FEFF          CALL      004233A8
  142. :00442166  837DF000            CMP       DWORD PTR [EBP-10],00
  143. :0044216A  750D                JNZ       00442179                (JUMP )
  144. :00442179  8D55F0              LEA       EDX,[EBP-10]
  145. :0044217C  8B86E4020000        MOV       EAX,[ESI+000002E4]
  146. :00442182  E82112FEFF          CALL      004233A8
  147. :00442187  8B45F0              MOV       EAX,[EBP-10]
  148. :0044218A  8B55F4              MOV       EDX,[EBP-0C]
  149. :0044218D  E8E219FCFF          CALL      00403B74
  150. :00442192  7532                JNZ       004421C6
  151.  
  152. At 0044218D, can you see the CALL and then followed by a conditional jump?
  153. Well, the typical thing a newbie cracker will look out for...
  154. Usually, at this point, this call will compare the correct RegID with
  155. the one you type. If they are not the same, you will jump away from the
  156. "Congratz" message.
  157.  
  158. If you look what is immediately below this conditional jump, you will
  159. see this:
  160. :00442194  BA28224400          MOV       EDX,00442228
  161. :00442199  8B86CC020000        MOV       EAX,[ESI+000002CC]
  162. :0044219F  E83412FEFF          CALL      004233D8
  163. :004421A4  BA40224400          MOV       EDX,00442240
  164. :004421A9  8B86D0020000        MOV       EAX,[ESI+000002D0]
  165. :004421AF  E82412FEFF          CALL      004233D8
  166. :004421B4  BA68224400          MOV       EDX,00442268
  167. :004421B9  8B86E4020000        MOV       EAX,[ESI+000002E4]
  168.  
  169. Using your mouse and right click on 00442228, 00442240, 00442268 and
  170. choose display or simply type "d 00442228", "d 00442240", "d 00442268"
  171. You will see 
  172. 1) CONGRATZ !!!
  173. 2) Now go get the next version!
  174. 3) Catch me in #CRACKS or #C.I.A
  175. respectively.
  176.  
  177. This means that I am right, we will jump away from this message. Therefore
  178. the call IS to compare the correct RegID and the one we entered.
  179.  
  180. So, scrolling upwards above that call, there are two mov:
  181. :00442187  8B45F0              MOV       EAX,[EBP-10]
  182. :0044218A  8B55F4              MOV       EDX,[EBP-0C]
  183.  
  184. If you type "d eax" to display the content of eax, you will see what you
  185. typed.
  186.  
  187. If you type "d edx", you will see the following if you use
  188. Name: Eternal Bliss
  189. Company: Intel
  190.  
  191. 00D720F0 6B FF 77 ED 7C E3 5B 0E-F9 E2 71 73 CF 4D 68 29  k.w.|.[...qs.Mh)
  192. 00D72100 AC 16 00 00 04 21 D7 00-04 21 D7 00 60 00 00 00  .....!...!..`...
  193.  
  194. Doesn't look much like a RegID? Well, we will need Crackers' Tool here
  195. because the RegID contains non-typable characters.
  196. Copy down all the hex value until you reach 00
  197. Hex Value:
  198. 6BFF77ED7CE35B0EF9E27173CF4D6829AC16
  199.  
  200. Using Crackers' Tool, we can convert it to Ascii which is the stuff we
  201. see and it will become:
  202. k wφ|π[∙Γqs╧Mh)¼
  203.  
  204. The reason why we have to use Crackers' Tool is because if you just
  205. copy
  206. k.w.|.[...qs.Mh)..
  207. and paste it into the RegID, you won't register...
  208.  
  209. So, try out my RegID
  210. Name: Eternal Bliss
  211. Company: Intel
  212. RegID: k wφ|π[∙Γqs╧Mh)¼
  213.  
  214. CrackMe Cracked!
  215.  
  216. __________________________________________________________________________
  217.  
  218.  
  219.                              Additional Points
  220.  
  221. If you were to trace into the CALL, you will see more of the compare method.
  222.  
  223. __________________________________________________________________________
  224.  
  225.  
  226.                              Final Notes
  227.  
  228. This tutorial is dedicated to all the newbies like me.
  229.  
  230. My thanks and gratitude goes to:-
  231.  
  232. All the writers of Cracks tutorials and CrackMes
  233. and also to all the crackers that have been supporting my site and project forum.